Installation as Command Line Executable
Installation
The installation package is shipped fully configured, so the following configurations are optional, depending on your requirements.
Orchestra Solution Hub is using the %JAVA_HOME% system variable of your operating system to start up the Orchestra Solution Hub Server.
If you wish to use another Java Development Kit, please adjust the variable ORC_JAVA_HOME in service_env.bat file.
As initial setting, Orchestra Solution Hub is shipped with an integrated Derby database. If you wish to use another database, please migrate a database using the appropriate scripts and configure it in /base/classes/config/environment_settings.xml file within the configuration group database.
Configuration of logging
Open \base\classes\logging.properties with a text editor and define the parameter java.util.logging.FileHandler.pattern
############################################################
# Default Logging Configuration File
#
# You can use a different file by specifying a filename
# with the java.util.logging.config.file system property.
# For example java -Djava.util.logging.config.file=myfile
############################################################
############################################################
# Global properties
############################################################
# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
# handlers = emds.log.context.DelegateStreamHandler
# handlers= java.util.logging.ConsoleHandler
handlers= java.util.logging.FileHandler
# To also add the ConsoleHandler, use the following line instead.
# handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers. For any given facility this global level
# can be overridden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
# There are seven Levels: SEVERE (highest value), WARNING, INFO,
# CONFIG, FINE, FINER and FINEST (lowest value)
.level = WARNING <-- The default log level. We recommend WARNING here
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
# default file output is in user's home directory.
# If you want to use json log output please configure emds.log.context.JsonFormatter
# If you want to use single line formatter please configure emds.log.context.SingleLineFormatter
java.util.logging.FileHandler.pattern = C:/Orchestra/logs/solution_hub_%g.mlog <-- This is the path where the log files will be written to.
It has to writable by the service user!
Use "/" instead of "\"
java.util.logging.FileHandler.limit = 250000 <-- The number of bytes until the next log file will be created. "0" means, there is no upper file limit.
java.util.logging.FileHandler.count = 4 <-- The number of log files to cycle through. The oldest one will be deleted. All others number will be increased by 1
java.util.logging.FileHandler.formatter = emds.log.context.StandardFormatter
#java.util.logging.FileHandler.formatter = emds.log.context.JsonFormatter <-- Write each log record as a single line in json format
#java.util.logging.FileHandler.formatter = emds.log.context.SingleLineFormatter <-- Write each log record as a single in plain text format
In case you are running Orchestra Solution Hub in a container you can enable the DelegateStreamHandler and set properties for the handler (e.g. level or formatter). This allows a console output in e.g. a docker container.
-
It is necessary that the log directory exists and the service user can write on it.
-
Use slashes instead of backslashes when describing the path. So
C:\OrchestraSolutionHub\logs\solution_hub_%g.mlogbecomesC:/OrchestraSolutionHub/logs/solution_hub_%g.mlog -
solution_hub_%g.mlogis the name of the log-files. The parameter%ggenerates the numeration on the log-files, e.g.solution_hub_0.mlog -
.leveldescribes the log level. We recommend to keep this value onWARNING.
Other values are:
| Level | Description |
|---|---|
| SEVERE | Indicates only serious failures. |
| WARNING | Indicates also potential problems |
| INFO | Indicates also informational messages |
| CONFIG | Indicates also static configuration messages |
| FINE / FINER / FINEST | Indicates detailed messages till every single message |
Configuration of database
Open \base\classes\config\environment_settings.xml with a text editor and choose your database by setting 'enabled' on true.
Replace the placeholders like shown in the example:
<!-- Default configuration block with placeholders-->
<group name = "database" enabled="true">
<parameter name="runtime.db.typ" value="%DATABASE_TYPE" choice="ORACLE|MSSQL|MYSQL|Derby" />
<parameter name="runtime.url" value="%DATABASE_URL" />
<parameter name="runtime.user" value="dummy_username" />
<parameter name="runtime.pwd" value="dummy_password" />
</group>
<!-- Example configuration with MySQL-Database -->
<group name = "database" enabled="true">
<parameter name="runtime.db.typ" value="MYSQL" choice="ORACLE|MSSQL|MYSQL|Derby" />
<parameter name="runtime.url" value="jdbc:mysql://DBSERVER:3306/ORCTRUNK_JUNIT_TEST?verifyServerCertificate=false&useSSL=true&serverTimezone=UTC" />
<parameter name="runtime.user" value="0008534c5353515a4f420006656c6a63757100000010430bca563294e12ed651c1f79fac48f0" />
<parameter name="runtime.pwd" value="0008534c5353515a4f420006656c6a63757100000010430bca563294e12ed651c1f79fac48f0" />
</group>
The database connection is configured via 4 parameters:
-
runtime.db.typ: The type of your database. Select the proper one from the choice part on the right part. -
runtime.url: The network address of your Solution Hub database instance. Like shown in the example block, it has to contain the database schema. -
runtime.user: The username of the database. As you can see in the example configuration block, it has to be encrypted. To encrypt the username, run:pwd_manager.cmd encrypt -d -t <USERNAME>in your local console and copy the output of the command into the value field.
-
runtime.password: The password of the database. As you can see in the example configuration block, it has to be encrypted. To encrypt the password, run:pwd_manager.cmd encrypt -d -t <PASSWORD>in your local console and copy the output of the command into the value field.
For generating such passwords, the tool pwd_manager.cmd can be used. This tool can be found in an Orchestra Installation or in the Orchestra Designer 4.16.
- For the changes to take effect, you must restart Solution Hub.
- You can restore the default Derby settings by removing the derby.properties file.
- Additional parameters can be found in the Derby-Docs (apache.org)
Starting Solution Hub
To start Solution Hub, please execute the script \startscripts\Windows\service_runner.cmd.
The user interface is accessible at https://localhost:8453/solution-hub.
One has to configure the authentication settings properly to get access to the system.